package com.love.marriage.userMembershipInfo.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.love.marriage.common.vo.BaseVo;
import com.love.marriage.config.Long2StringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * description:  用户会员表Vo
 * author:       mybatisPlus
 * createDate:   2024-10-17 07:29:59
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(name = "UserReduceMoneyVo", description = "消费金额类")
public class UserReduceMoneyVo extends BaseVo<UserReduceMoneyVo>{

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "用户ID", type = "Long", implementation = Long.class)
    private Long userId;

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "金额(不填写取系统默认)", type = "BigDecimal", implementation = BigDecimal.class)
    private BigDecimal amount;

    @Schema(description = "类型：（‘chat':聊天，’getPhone‘：获取电话号码,'create_dating':创建约会, 'create_dating_top':创建置顶约会,'join_dating':参加约会,'join_event':参加活动,'matchmaker_save':红娘保存,'partner':合作伙伴）", type = "String", implementation = String.class)
    private String type;

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "关联业务id", type = "Long", implementation = Long.class)
    private Long relatedBusinessId;

    @Schema(description = "关联业务信息", type = "String", implementation = String.class)
    private String relatedBusinessInfo;

    @Schema(description = "备注信息", type = "String", implementation = String.class)
    private String message;

    @Schema(description = "来源", type = "String", implementation = String.class)
    private String source;
}
